﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Data.SqlTypes;

namespace Jurassic_Island
{
    public class ENEventosGuion
    {
        //atributos
        private int id_evguion;
        private string nombre_evguion;
        private string descripcion_evguion;
       
        CADEventosGuion cadEventosGuion = new CADEventosGuion();//declaramos el CAD

        //propiedades
        public int Id_evguion
        {
            get{ return id_evguion; }
            set{ id_evguion=value; }
        }
        
        public string Nombre_evguion 
        {
            get{ return nombre_evguion; }
            set { nombre_evguion = value; }
        }
        public string Descripcion_evguion
        {
            get { return descripcion_evguion; }
            set { descripcion_evguion = value; }
        }
    
        
        public ENEventosGuion()//Constructor por defecto
	    {
            id_evguion=0;
	        nombre_evguion="";
            descripcion_evguion="";
           
        }

        public ENEventosGuion(int id, string nombre, string descripcion)//constructor sobrecargado
        {
            id_evguion=id;
	        nombre_evguion=nombre;
            descripcion_evguion=descripcion;
           
        }        
        
        //METODOS
        public DataSet ObtenerListaEventosGuion()
        {
            DataSet resultado = new DataSet();

            try
            {
                resultado = cadEventosGuion.ObtenerTablaEventosGuion();
            }

            catch (Exception ex)
            {
                throw (ex);
            }

            return resultado;
        }

        public DataSet ObtenerNombresEventosGuion()
        {
            DataSet resultado = new DataSet();

            try
            {
                resultado = cadEventosGuion.ObtenerNombreEventosGuion();
            }

            catch (Exception ex)
            {
                throw (ex);
            }

            return resultado;
        }

        public bool ActualizarEventosGuion(DataSet dsEventosGuion)
        {
            bool resultado = false;

            try
            {
                resultado = cadEventosGuion.ActualizarEventosGuion(dsEventosGuion);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return resultado;
        }

        public bool InsertarEventoGuion(bool actualizar = false)
        {
            bool resultado = false;

            try
            {
                DataSet dsEventosGuion = cadEventosGuion.ObtenerTablaEventosGuion();
                DataRow dr;
                
                if (actualizar)
                {
                    dr = dsEventosGuion.Tables["Eventos_Guion"].Rows.Find(id_evguion.ToString());
                }
                else
                {
                    dr = dsEventosGuion.Tables["Eventos_Guion"].NewRow();
                }

                dr["Nombre"] = nombre_evguion.ToString();
                dr["Descripcion"] = descripcion_evguion.ToString();
                                
                if (actualizar)
                    dr.EndEdit();
                else
                    dsEventosGuion.Tables["Eventos_Guion"].Rows.Add(dr);

                resultado = cadEventosGuion.ActualizarEventosGuion(dsEventosGuion);

            }

            catch (Exception ex)
            {
                throw (ex);
            }

            return resultado;
        }

        public void EditarEventosGuion()
        {
            DataSet resultado = new DataSet();

            try
            {
                resultado = cadEventosGuion.EditarTablaEventosGuion(this.nombre_evguion, this.descripcion_evguion);

            }

            catch (Exception ex)
            {
                throw (ex);
            }
        }

        public bool BorrarEventoGuion()
        {
            bool resultado = false;

            try
            {
                DataSet dsEventosGuion = cadEventosGuion.ObtenerTablaEventosGuion();

                dsEventosGuion.Tables["Eventos_Guion"].Rows.Find(id_evguion.ToString()).Delete();

                resultado = cadEventosGuion.ActualizarEventosGuion(dsEventosGuion);
            }

            catch (Exception ex)
            {
                throw (ex);
            }

            return resultado;
        }

        public DataSet BuscarEventosGuion(String nombre)
        {
            DataSet resultado = new DataSet();

            try
            {
                resultado = cadEventosGuion.BuscarEventosGuion(nombre);

            }

            catch (Exception ex)
            {
                throw (ex);
            }

            return resultado;
        }
        









      
      /* public string NuevoExamen()
        {
            return cadExamenes.InsertarExamen(this);
        }

        //método que devuelve toda la tabla Examenes en un DataSet
        public DataSet ObtenerTodosExamenes(ref string m)
        {
            return cadExamenes.ObtenerTablaExamenes(ref m);
        }

        //método para buscar examenes
        public DataSet BuscarExamenes(string numReferencia, string idioma, string nivel, string turno, DateTime fechaExamenD, string evaluacion)
        {
            return cadExamenes.BuscarExamenes(numReferencia,idioma,nivel,turno/*,fechaExamen,evaluacion);
        }

        //método para modificar un examen
        public string ModificarExamenes(string numReferencia, string idioma, string nivel, string turno, DateTime fechaExamen, string evaluacion)
        {
            return cadExamenes.ModificarExamenes(numReferencia,idioma,nivel,turno,fechaExamen,evaluacion);
        }

        //método para dar de baja un examen
        public string BajaExamenes(string numReferencia)
        {
            return cadExamenes.EliminarExamenes(numReferencia);
        }*/
    }
}
